package com.joysuch.wwyt.risk.entity.dto;

import cn.zlg.common.springmvc.validate.constraints.NotNull;
import com.joysuch.wwyt.core.entity.BaseUser;
import com.joysuch.wwyt.risk.entity.RiskDistrict;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;

/**
 * @author zero
 * @since 2021/11/17 15:28
 */
@Data
public class RiskPointBO {
    // columns START
    // ID
    private java.lang.Long id;
    // 名称
    private java.lang.String name;
    // 编号
    private java.lang.String code;
    // 描述
    private java.lang.String description;
    // 状态
    private java.lang.Integer state;
    // 风险等级
    private java.lang.Integer riskLevel;
    // 容易发生的事故类型 ->主要后果
    private String accidentType;
    // SCL评估状态
    private java.lang.Integer sclEvaluationState;
    // JHA评估状态
    private java.lang.Integer jhaEvaluationState;
    // 上一次评估时间
    private Date lastEvaluationTime;

    @NotNull(field = "风险点类型")
    private String type;

    private String standard;

    //存在的主要危险(有害)因素  ->危害分析
    private String unstandardSituationConsequence;

    private String subType;

    // 关联模块
    private String relatedModule;
    // 关联模块ID
    private Long relatedModuleId;
    // 是否共享风险点:null风险点,1风险点库
    private Integer shared;

    //44不显示
    private Integer showState;

    //固有风险等级
    private Integer stableRiskLevel;
    //控制风险等级
    private Integer controlRiskLevel;

    //风险要素(人，物，环，管)
    private String riskFactor;
    //安全警示标志
    private String safeWarnMark;
    //辨识人员
    private Long identifyUserId;
    private String identifyUserStr;
    private List<UserBean> identifyUserIdList;


    //责任人员
    private Long dutyUserId;
    //审核状态
    private Byte status;
    @ApiModelProperty("审核意见")
    private String auditOpinion;
    @ApiModelProperty("审核人员")
    private Long auditUserId;
    @ApiModelProperty("审核时间")
    private LocalDateTime auditDateTime;

    @ApiModelProperty("风险点评估值")
    private String pointEvaluationValue;
    @ApiModelProperty("下一次评估时间")
    private Date nextEvaluationDate;

    @ApiModelProperty("风险分区中心点经度")
    private String x;

    @ApiModelProperty("风险分区中心点纬度")
    private String y;

    @ApiModelProperty("所有方法评估人id(固有,控制)")
    private String evaluatorIdJson;

    //风险要素(人，物，环，管)
    private List<String> riskFactors;

    @ApiModelProperty("应急处置措施")
    private String emergencyHandleMeasures;

    @ApiModelProperty("备注")
    private String remark;

    @ApiModelProperty("所属岗位")
    private Long dutyJobId;

    @ApiModelProperty("度量值")
    private String measureValue;
    
    /*@ApiModelProperty("点位")
    private String points;

    @ApiModelProperty("楼层id")
    private String floorId;

    @ApiModelProperty("建筑id")
    private String buildingId;*/

    @ApiModelProperty("组件围栏的信息")
    private String fenceData;

    @ApiModelProperty("签到方式(0：人员定位，1：刷卡签到，3：不签到)")
    private Integer signInMethod;

    @ApiModelProperty("是否区分楼层(0：关闭，1：开启)")
    private Integer distinguishFloor;

    @ApiModelProperty("nfc的CODE")
    private String nfc;

    private Long controlLevelId;

    private RiskDistrict riskDistrict;

}
